bmh2112 - Hey team, we are facing some issue wi...
# dev-help
b
Hey team, we are facing some issue with the manage alerts functionality in Thoughtspot embedded. We are trying to enable manage alerts functionality but we found in testing that after creating an alert it doesn't show on the manage alerts page. We raised a support ticket (case number: 00436716) but they routed us here. https://cdn.discordapp.com/attachments/1143209464875462756/1523982128394797116/image.png?ex=6a4e1675&is=6a4cc4f5&hm=5cf0cd8aed641bf28c6233ee1d89fbb23b9e6002ae6d57fb0bc981eff0933f52&
a
message has been deleted
s
Solution: Thanks for sharing this — based on what you described (alert can be created, but Manage alerts is blank), this is typically a context/scope or privilege issue in embedded full-app flows, not alert creation itself. In embedded deployments, validate these first: 1. Same user/session check Make sure the user who creates the alert is the exact same authenticated user opening Manage alerts (no silent user-switch across tabs/iframes). 2. Same org check (if Org-enabled) If your instance uses Orgs, ensure the alert is created and viewed in the same org context. 3. Embed routing/state check If you are embedding the full app, avoid custom host-event navigation that may push the user to a context where alert listing is empty. 4. Privilege/visibility check Confirm the user has permissions required to view and manage their alerts in that embedded session. 5. UI config check in app embed Review full-app customization flags to ensure the Alerts module/menu is not partially hidden while allowing alert creation entry points. A clean baseline test is: - Launch a minimal
AppEmbed
- Create alert - Immediately open Manage alerts in same iframe session - Retest with no extra host events/custom routing
Copy code
javascript
import { init, AppEmbed, AuthType } from '@thoughtspot/visual-embed-sdk';

init({
  thoughtSpotHost: 'https://<your-ts-host>',
  authType: AuthType.None,
});

const appEmbed = new AppEmbed('#tsEmbed', {
  // keep config minimal while isolating issue
});

appEmbed.render();
If this baseline works, reintroduce your custom embed config gradually to isolate the exact setting causing the blank list. --- Suggestions: - Please share: - your
init()
config, -
AppEmbed
config, - auth mode used in prod/test, - whether Orgs are enabled. I can help pinpoint the exact misconfiguration.
- Since you already have support case 00436716, ask support to confirm whether this maps to a known tenant-side issue and to check backend alert records for that user/org pair. - I could not find this exact “Manage alerts page empty after create” behavior documented as a known issue in the official docs I checked. --- Docs: - Troubleshooting guide: https://developers.thoughtspot.com/docs/troubleshoot-errors - Full app embedding customization: https://developers.thoughtspot.com/docs/full-app-customize - Events and app interactions: https://developers.thoughtspot.com/docs/events-app-integration - Embed events enum (including alert event): https://developers.thoughtspot.com/docs/Enumeration_EmbedEvent
b
Regarding Solution I can confirm that all points (1 to 5) are checked and valid. Also I can confirm that solution with launching a minimal
AppEmbed
produce the same issue. Regarding Suggestions I share: 1.
AppEmbed
config: <LiveboardEmbed liveboardId={view} fullHeight locale={language} visibleActions={visibleActions} />where const visibleActions = [ ...<>, Action.ManageMonitor, ]; 2.
init()
config and auth mode used const authStatus = init({ thoughtSpotHost: 'https://quinyx.thoughtspot.cloud', authType: AuthType.TrustedAuthTokenCookieless, getAuthToken: async () => { const res = await fetchThoughtSpotToken(groupId); return res?.body.token || ''; }, });
Hey @spotter-code any idea on above. We are still facing the same issue
s
Solution: Yes — if “Manage alerts” opens but is blank after creating one, this is usually not a create-alert failure, but a context/auth/session mismatch in embed. Most common causes to check: 1. You’re creating the alert in one context but opening Manage Alerts in another - Different user - Different org - Different auth session (new token/session without same context) 2. Mixing embed patterns - If you use full app embedding (
AppEmbed
) plus separate component embeds (`LiveboardEmbed`/`SearchEmbed`) on different routes/sessions, state can diverge. 3. Insufficient privilege or object access after creation - Alert may exist but current embedded user context cannot list it in Manage Alerts UI. 4. Silent embed error - The page can render blank if an internal API call fails and no error listener is wired. Use a single embedded app session and add error listeners to capture what fails:
Copy code
javascript
import { init, AppEmbed, AuthType, EmbedEvent } from '@thoughtspot/visual-embed-sdk';

init({
  thoughtSpotHost: 'https://your-ts-host.thoughtspot.cloud',
  authType: AuthType.None, // use your actual auth type if different
});

const app = new AppEmbed(document.getElementById('ts-app'), {});

app.on(EmbedEvent.Error, (e) => {
  console.error('ThoughtSpot embed error:', e);
});

app.render();
Then reproduce: - Create alert - Open Manage alerts in the same running embed/session - Check browser network + console for failed calls --- Suggestions: Please share these so we can pinpoint quickly: - SDK version - Embed type used for the failing flow (
AppEmbed
vs
LiveboardEmbed
) - Auth type (
None
, trusted auth, SSO, etc.) - Whether org switching is enabled - HAR + console logs while reproducing - Whether alert appears in non-embedded ThoughtSpot with the same user Also, since you already have support case 00436716, ask support to attach:
- backend logs for alert list API at the timestamp of reproduction - user/org/session identifiers used in embed That usually confirms whether this is UI rendering vs permission/context mismatch. --- Docs: - Troubleshooting embed errors: https://developers.thoughtspot.com/docs/troubleshoot-errors - In-app navigation guidance (avoid mixed embed navigation patterns): https://developers.thoughtspot.com/docs/in-app-navigation - Embed events (
EmbedEvent.Error
): https://developers.thoughtspot.com/docs/Enumeration_EmbedEvent
b
@spotter-code we checked your solution but issue still exists. Here is a breakdown of steps you mentioned: Regarding Solution I can confirm that all points (1 to 5) are checked and valid. Also I can confirm that solution with launching a minimal AppEmbed produce the same issue. Regarding Suggestions I share: AppEmbed config: <LiveboardEmbed liveboardId={view} fullHeight locale={language} visibleActions={visibleActions} />where const visibleActions = [ ...<>, Action.ManageMonitor, ]; init() config and auth mode used const authStatus = init({ thoughtSpotHost: 'https://quinyx.thoughtspot.cloud/', authType: AuthType.TrustedAuthTokenCookieless, getAuthToken: async () => { const res = await fetchThoughtSpotToken(groupId); return res?.body.token || ''; }, });
s
Solution: Thanks for sharing the exact config — that helps. Since
Action.ManageMonitor
is visible and clicking it opens the modal, but the modal is empty even in minimal embed, the issue is likely not
visibleActions
wiring. From docs,
ManageMonitor
is specifically tied to KPI visualization context and supports Liveboard/App embeds, so your current usage is valid. What I’d do next is force-open the action via host event on a known KPI viz and verify context resolution:
Copy code
javascript
import {
  init,
  AuthType,
  LiveboardEmbed,
  HostEvent,
  ContextType,
  Action
} from '@thoughtspot/visual-embed-sdk';

init({
  thoughtSpotHost: 'https://quinyx.thoughtspot.cloud/',
  authType: AuthType.TrustedAuthTokenCookieless,
  getAuthToken: async () => {
    const res = await fetchThoughtSpotToken(groupId);
    return res?.body?.token || '';
  },
});

const embed = new LiveboardEmbed(document.getElementById('ts-embed'), {
  liveboardId: '<LIVEBOARD_ID>',
  visibleActions: [Action.ManageMonitor], // keep minimal for testing
});

embed.render();

// after render, trigger manage alerts explicitly on a KPI viz
// replace with actual KPI viz id from that liveboard
embed.trigger(
  HostEvent.ManageMonitor,
  { vizId: '<KPI_VIZ_ID>' },
  ContextType.Liveboard
);
If this still opens a blank Manage Alerts modal, that strongly indicates a backend/tenant-level monitor visibility problem (permissions, org/user context, or monitor object retrieval) rather than embed configuration. --- Suggestions: 1. Validate with non-embedded UI using same user/auth context Log in as the same effective user and check whether created alerts appear there. - If not visible there either → platform-side monitor listing issue. - If visible there but not embedded → embedded auth/session scoping issue. 2. Confirm token identity consistency (very common with cookieless trusted auth)
Ensure create-alert and manage-alert actions are executed under the exact same user/org in every token refresh cycle. 3. Capture failing network calls from iframe In browser devtools, inspect the ThoughtSpot iframe requests when Manage Alerts opens and look for non-200 responses or empty payloads for monitor-list APIs. Share request IDs + timestamps with support tied to case 00436716. 4. Do not mix app shell flows Docs note mixing app-style navigation patterns with component embeds can cause state issues; keep this test isolated to one
LiveboardEmbed
route only. 5. If you want, I can give you a copy-paste diagnostic harness that logs: - current session user/org - token refresh timing - host event trigger timing - iframe network error hooks so you can hand a clean artifact to support/engineering. --- Docs: - HostEvent `ManageMonitor`: https://developers.thoughtspot.com/docs/Enumeration_HostEvent#_managemonitor - Action `ManageMonitor`: https://developers.thoughtspot.com/docs/Enumeration_Action#_managemonitor - Actions reference (includes ManageMonitor scope): https://developers.thoughtspot.com/docs/actions#_more_options_menu - In-app navigation guidance: https://developers.thoughtspot.com/docs/in-app-navigation